public class test4 {
    /**
     * 无重复字符的最长字串：
     * 给定一个字符串 s ，请你找出其中不含有重复字符的最长子串的长度。
     * 示例 :
     * 输入: s = "abcabcbb"
     * 输出: 3
     * 解释: 因为无重复字符的最长子串是 "abc"，所以其长度为 3。
     */
    public static void main(String[] args) {
        String s = "aab";
        int ret = lengthOfLongestSubstring(s);
        System.out.println(ret);
    }

    public static int lengthOfLongestSubstring(String s) {
        int len = 0;
        String tmp = null;
        for (int i = 0; i < s.length(); i++) {
            tmp = String.valueOf(s.charAt(i));//将获取的字符转换为字符串类型
            for (int j = i + 1; j < s.length(); j++) {
                int index = tmp.indexOf(s.charAt(j));//没有返回-1，有返回对应的下标
                if (index == -1) {
                    tmp = tmp.concat(String.valueOf(s.charAt(j)));//要把连接的字符串赋值给tmp，因为字符串是不可变的，连接只是创建了一个新的字符串
                } else {
                    break;
                }
            }
            if (tmp.length() > len) {
                len = tmp.length();
            }
        }
        return len;
    }
}
